import axios from 'axios'
import { createDiscreteApi } from "naive-ui";

const api = axios.create({
    baseURL: 'http://localhost:9000', // 请求的公共地址部分
    timeout: 3000, // 请求超时时间 当请求时间超过5秒还未取得结果时 提示用户请求超时
})
// 发送请求接口
// interceptors axios的拦截器对象
api.interceptors.request.use(config => {
    // config 请求的信息
    //设置请求头
    config.headers.setContentType = "application/json";
    if(localStorage.getItem("token")==null){
            localStorage.setItem("1","1",1000 * 60 * 60);
    }
    config.headers["token"] = localStorage.getItem("token")
    return config // 将配置完成的config对象返回出去 如果不返回 请求则不会进行
}, err => {
    // 请求发生错误时的处理 抛出错误
    Promise.reject(err)
})
// 响应接口
api.interceptors.response.use(res => {
    // 我们一般在这里处理，请求成功后的错误状态码 例如状态码是500，404，403
    // res 是所有相应的信息
    // 响应消息
    const message = createDiscreteApi(["message"]).message;
    return Promise.resolve(res)
}, err => {
    // 服务器响应发生错误时的处理
    Promise.reject(err)
})
// 暴露接口
export default api
